1. Technical Field
The present disclosure relates to data stream management systems and more specifically to facilitating flexible windows in data stream management systems.
2. Related Art
A data stream management system generally refers to a system, which executes queries on a subset of a stream of values received continuously over a period. The same query is generally executed at different time instants on corresponding subsets of values (in a received stream) to generate corresponding query outputs. The query outputs form the result of performance of the query on the continuous stream of values.
The subset of values on which a query is executed at a corresponding time instant may be referred to as a window. As an illustration, the subset of values for a window may be determined at different desired time instants and the query executed with the recomputed window. For example, in a time-based windowing technique, a window may be defined to have a width of 30 minutes indicating that the values in the last 30 minutes (from the current time) be used to find the output of a execution of the query at that corresponding time instant.
In a prior data stream management system based on Continuous Query Language (described in further detail in a document entitled, “The CQL Continuous Query Language: Semantic Foundations and Query Execution” by Arvind Arasu, Shivnath Babu and Jennifer Widom), a window is specified using pre-defined constructs, which have a meaning specified by a designer of a language used to query a continuous data stream, and a developer of specific queries can merely specify values (by numbers or variables generally) associated with the constructs. Examples of such pre-defined constructs include ‘minutes’, ‘range’, ‘slide’, etc.
Such pre-specified constructs for specifying windows may not be adequate in several environments.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.